FIG. 1 illustrates a schematic block diagram of a video graphics processor 10 that includes a display engine 12, graphics controller 14, memory controller 16 and two dynamic random access memory devices (DRAM) 18 and 20. The graphics controller 14 includes a three-dimensional pipeline processor 22 and a rendering backend processor 24. The general function of the video graphics processor 12 is to receive geometric primitives from a central processing unit of a computer and to manipulate the geometric primitives, which define objects to be displayed, to produce pixel data.
To produce the pixel data, the graphics controller 14 generates color data, Z data, and texture coordinates from the geometric primitives. The color data includes an RGB (Red, Green, Blue) color components and may further include a fog value, an alpha-blending value, lighting effect values, etc. The Z data indicates the depth of a particular pixel based on the Z values of the original vertices of an object being rendered. The texture coordinates indicate coordinates to be used when retrieving texture information from a texture map, such that the object being rendered has a desired texture. The graphics controller 14 processes the color data, the texture coordinates, and Z the data on a pixel by pixel basis. Such processing involves the graphics controller 14 storing and retrieving a substantial amount of data to and from the DRAMs 18 and 20. As such, a substantial amount of data is being transmitted over the bus for each pixel. The amount of data stored and retrieved is increased when the graphics controller 14 performs anti-aliasing.
As is known, anti-aliasing is a technique that visually compensates for jagged edges of video display images that result because of the finite size of pixels. The visual compensation begins by creating subpixels masks for each object that is to be drawn within a pixel. For example, FIG. 2 illustrates a graphical representation of an object-element 34 being rendered on a plurality of pixels 30, where each pixel is shown to have four subpixels 32. Thus, when a subpixel mask is created, a determination is made as to the coverage area of each subpixel by the object-element 34. As can be seen in this illustration, only the center pixel is completely covered by the object-element 34. Each of the other pixels will include a subpixel mask indicating the percentage of coverage of object-element 34. The subpixel masks, the color data, and the Z data are processed by the graphics controller 14 as fragment information.
The resulting subpixel masks for a pixel are then processed to produce the final subpixel information for the given pixel. Part of this process will involve a comparison between the Z values of the new fragment and the Z values of subpixels from any other objects that share that pixel. Thus it is required that Z data from the memory be transported to the backend rendering engine. The Z values that result from the comparison operation must then be transmitted back to the memory 18 and 20.
Therefore, a need exists for a method and apparatus that improves the rate of transmission of fragment information within a video graphics processor thereby improving the overall efficiency of the video graphics processor.